require(["config"], function(config) {
	require(["jquery", "sw", "cook", "cooki", "one", ], function(jquery, sw, cook, cooki, one) {

		$(function() {
			//取出cookie中的信息

			var cartStr = $.cookie("cart") ? $.cookie("cart") : "";
			if (!cartStr) {
				$(".blank").css("display", "block");
				$(".shopping").css("display", "none");
				$(".qingkong").css("display", "none");

			} else {
				var cartObj = convertCartStrToObj(cartStr);
				//遍历所有的商品生成HTML添加到购物车列表中去
				for (var id in cartObj) {
					$(".blank").css("display", "none");
					//商品信息对象
					var good = cartObj[id];
					var str = '<ul class="goodInfo" data-good-id="' + id + '">' +
						'<li><img src="' + good.src + '" /></li>' +
						'<li>' + good.name + '</li>' +
						'<li>' + good.price + '</li>' +
						'<li class="num">' +
						'<a href="javascript:;" class="minus">-</a>' +
						' <input type="text" value="' + good.num + '" />  ' +
						'<a href="javascript:;" class="plus">+</a>' +
						'</li>' +
						'<li class="total">' + good.num * good.price + '</li>' +
						'<li><a href="javascript:;" class="del">删除</a></li>' +
						'</ul>';
					//将上面的结构添加到cartList中去
					$(str).appendTo(".cartList");
				}

				$(".goodInfo a.del").click(function() {
						
						//从页面中将商品信息删除    顺便获取一下该商品的id
						if ($(".goodInfo a.del").length == 1) {
							console.log($(".goodInfo a.del").length)
							$(".blank").css("display", "block");
							$(".shopping").css("display", "none");
							$(".qingkong").css("display", "none");
						}

						var id = $(this).parents(".goodInfo").remove().attr("data-good-id");
						//从cookie中将商品删除
						var cartStr = $.cookie("cart") ? $.cookie("cart") : "";
						var cartObj = convertCartStrToObj(cartStr);

						delete cartObj[id];
						//将新商品信息放回cookie
						$.cookie("cart", convertObjToCartStr(cartObj), {
								expires: 7,
								path: "/"
							})
						

						total();
						num();

					})
					//给每个商品添加从购物车删除事件

				//给增加按钮加点击事件
				$(".goodInfo a.plus").click(function() {
					var id = $(this).parents(".goodInfo").attr("data-good-id");
					var cartStr = $.cookie("cart") ? $.cookie("cart") : "";
					var cartObj = convertCartStrToObj(cartStr);
					cartObj[id].num += 1;
					//使页面上显示的数量加1
					$(this).siblings("input").val("" + cartObj[id].num);
					$(this).parent().siblings(".total").html(cartObj[id].num * cartObj[id].price + "");

					$.cookie("cart", convertObjToCartStr(cartObj), {
						expires: 7,
						path: "/"
					})
					total();
					num()

				})
				$(".goodInfo a.minus").click(function() {
					var id = $(this).parents(".goodInfo").attr("data-good-id");
					var cartStr = $.cookie("cart") ? $.cookie("cart") : "";
					var cartObj = convertCartStrToObj(cartStr);

					if (cartObj[id].num > 1) {
						cartObj[id].num -= 1;
						//使页面上显示的数量减1
						$(this).siblings("input").val("" + cartObj[id].num);
						$(this).parent().siblings(".total").html(cartObj[id].num * cartObj[id].price + "");

						$.cookie("cart", convertObjToCartStr(cartObj), {
							expires: 7,
							path: "/"
						})

					}
					total();
					num()
				})

				//改数量的input 绑定一个blur事件
				$(".goodInfo li.num input").blur(function() {
					var id = $(this).parents(".goodInfo").attr("data-good-id");
					var cartStr = $.cookie("cart") ? $.cookie("cart") : "";
					var cartObj = convertCartStrToObj(cartStr);
					//判断用户输入的是否合法
					var pattern = /^\d+$/ //匹配的是数字
					if (!pattern.test($(this).val())) {
						cartObj[id].num = 1;
						$(this).val("1");
					} else {
						//修改一下数量
						cartObj[id].num = parseInt($(this).val())
					}
					$(this).siblings("input").val("" + cartObj[id].num);
					$(this).parent().siblings(".total").html(cartObj[id].num * cartObj[id].price + "")
						//将信息放回cookie
					$.cookie("cart", convertObjToCartStr(cartObj), {
						expires: 7,
						path: "/"
					})
					total();
					num()
				})
			}
			$(".qing .a1").click(function() {
				$(".qingkong").css("display", "block")
				$(".qingkong .a1").click(function() {
					$(".shopping").css("display", "none");
					$(".qingkong").css("display", "none");

					var id = $(".goodInfo a.del").parents(".goodInfo").remove().attr("data-good-id");
					//从cookie中将商品删除
					var cartStr = $.cookie("cart") ? $.cookie("cart") : "";
					var cartObj = convertCartStrToObj(cartStr);
					//					
					for (id in cartObj) {

						delete cartObj[id];
						$(".top_right_span1").html(0);
						//将新商品信息放回cookie
						$.cookie("cart", convertObjToCartStr(cartObj), {
							expires: 7,
							path: "/"
						})
						$(".tankuang").css("display", "none");
						total();
						num();
						$(".blank").css("display", "block")
					}
				})

				$(".qingkong .a2").click(function() {
					$(".qingkong").css("display", "none")

				})

			})

			function total() {
				var s = 0;
				for (var i = 0; i < $(".total").length; i++) {
					var a = $(".total").eq(i).html();
					s += parseInt(a);
				}
				$(".a3 span").html("￥" + s);
			}
			total();
			//		

			function num() {
				var n = 0;
				for (var i = 0; i < $(".goodInfo").length; i++) {
					var b = $(".goodInfo").eq(i).find("input").val();
					n += parseInt(b);
				}
				$(".top_right_span1").html(n);
			}
			num()

		})

		function convertCartStrToObj(cartStr) {
			//"sp1,名字，价格，数量，连接："
			if (!cartStr) {
				return {}
			}
			var goods = cartStr.split(":")
			var obj = {};
			for (var i = 0; i < goods.length; i++) {
				var data = goods[i].split(",");
				obj[data[0]] = {
					name: data[1],
					price: parseFloat(data[2]),
					num: parseInt(data[3]),
					src: data[4]
				}

			}
			return obj
		}

		function convertObjToCartStr(obj) {
			var cartStr = "";
			for (var id in obj) {
				if (cartStr) {
					cartStr += ":"
				}
				cartStr += id + "," + obj[id].name + "," + obj[id].price + "," + obj[id].num + "," + obj[id].src
			}
			return cartStr;

		}

	})
})